// utils/tmap.js
export function loadTMap(key) {
    return new Promise((resolve, reject) => {
        // 1. 如果 TMap 已存在，直接返回
        if (window.TMap) {
            console.log('TMap 已就绪');
            resolve(window.TMap);
            return;
        }

        // 防止重复绑定
        if (window.onTMapLoaded) {
            console.warn('TMap 正在加载中...');
            return;
        }

        // 2. 定义全局回调
        window.onTMapLoaded = function () {
            // 确保 TMap 存在
            if (window.TMap) {
                console.log('TMap 初始化成功');
                resolve(window.TMap);
            } else {
                reject(new Error('TMap 初始化失败：TMap 未定义'));
            }
        };

        // 3. 创建 script 标签（使用 WebGL 版）
        const script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = `https://map.qq.com/api/gljs?v=2.exp&key=${key}&callback=onTMapLoaded`;
        script.async = true;
        script.onerror = () => {
            console.error('TMap SDK 脚本加载失败，请检查网络或 Key');
            reject(new Error('TMap SDK 加载失败'));
        };

        document.head.appendChild(script);
    });
}